#pragma once

/*
作用：
用于检查一个编译器常量是否是 2 的指数倍

用法：

// 定义处
consetxpr auto conf_value = 1;

// 约束处，假如某段代码依赖这一特性，出于防御式编程，加一条断言可以在编译期间发现错误
xcheck_binary_aligned(conf_value);
*/

#define xcheck_binary_aligned(VALUE_V) \
        static_assert(!((VALUE_V) & ((VALUE_V) - 1)), #VALUE_V " need binary aligned");
